package com.ruoyi.equ.service;

import java.util.List;
import java.util.Map;

import com.ruoyi.equ.domain.EquRepair;
import com.ruoyi.equ.domain.FaultType;
import com.ruoyi.equ.domain.vo.EquRepairVos;
import com.ruoyi.equ.domain.vo.EquRepairUniVo;
import com.ruoyi.equ.domain.vo.SignAndStampVo;

/**
 * 维修工单Service接口
 *
 * @author ruoyi
 * @date 2025-11-05
 */
public interface IEquRepairService
{
    /**
     * 查询维修工单
     *
     * @param repairId 维修工单主键
     * @return 维修工单
     */
    public EquRepair selectEquRepairByRepairId(Long repairId);

    /**
     * 查询维修工单列表（最近3条）
     * @param equRepair
     * @return
     */
    List<EquRepairUniVo> selectEquRepairListThree(EquRepair equRepair);

    /**
     * 查询维修工单列表
     *
     * @param equRepair 维修工单
     * @return 维修工单集合
     */
    public List<EquRepair> selectEquRepairList(EquRepair equRepair);

    /**
     * 新增维修工单
     *
     * @param equRepair 维修工单
     * @return 结果
     */
    public int insertEquRepair(EquRepair equRepair);

    /**
     * 修改维修工单
     *
     * @param equRepair 维修工单
     * @return 结果
     */
    public int updateEquRepair(EquRepair equRepair);

    /**
     * 批量删除维修工单
     *
     * @param repairIds 需要删除的维修工单主键集合
     * @return 结果
     */
    public int deleteEquRepairByRepairIds(Long[] repairIds);

    /**
     * 删除维修工单信息
     *
     * @param repairId 维修工单主键
     * @return 结果
     */
    public int deleteEquRepairByRepairId(Long repairId);

    Boolean addRepair(EquRepair equRepair);

    SignAndStampVo getSignAndStamp();


    List<EquRepair> selectEquRepairListByMonth(EquRepair equRepair, int i);

    List<FaultType> getFaultTypeData(Map<String, Object> params);
    /**
     * 查询维修工单列表
     */
    List<EquRepairVos> selectEquRepairVoList(EquRepairVos repairVos);
    /**
     * 获取维修记录详细信息
     */
    List<EquRepair> getRepairsByAssetId(Long assetId);
}
